草庐IT

C++::Boost::Regex 迭代子匹配

全部标签

ruby-on-rails - 如何确定 rails 中是否存在返回 true 或 false 的匹配项?

我想创建一个针对电子邮件处理返回true或false的测试。目前,如果电子邮件地址以r+开头则为真,否则为假。这将帮助我们的服务器忽略我们遇到的大量垃圾邮件。例子:r+kldslkadslkadslk@site.com..truer+123123312@site.com..truevigraaaa@site.com..FALSE用Rails/ruby/regex处理这个问题的最有效方法是什么?谢谢目标是rails/ruby中的一个衬里:ABORTifXXXXX==0 最佳答案 这将匹配:/^r\+.*@site.com$/例子:>>

ruby-on-rails - ruby 正则表达式 - 如何匹配所有内容直到字符 -

给定一个字符串如下:randomstring1-randomstring2-3df83eeff2我如何使用ruby​​正则表达式或其他一些ruby​​/rails友好的方法来查找第一个破折号之前的所有内容-在上面的例子中是:randomstring1谢谢 最佳答案 你可以使用这个模式:^[^\-]* 关于ruby-on-rails-ruby正则表达式-如何匹配所有内容直到字符-,我们在StackOverflow上找到一个类似的问题: https://stack

ruby - 每个月用日期对象迭代

所以我有两个ruby​​Date对象,我想每个月迭代它们。例如,如果我有Date.new(2008,12)和Date.new(2009,3),它会生成2008-12、2009-1、2009-2、2009-3(当然是Date对象)。我尝试使用范围,但它每天都会产生。我看到了Date的步骤方法,但是它只允许我传递天数(每个月都有不同的天数)。有人有什么想法吗? 最佳答案 这是非常Ruby的东西:每个月的第一天(Date.new(2008,12)..Date.new(2011,12)).select{|d|d.day==1}它将为您提供范

ruby - 将 MatchData 中的命名匹配转换为哈希

我有一个相当简单的正则表达式,但我想使用命名正则表达式使其更清晰,然后迭代结果。测试字符串:testing_string="111x222b333"我的正则表达式:regexp=%r{(?[0-9]{3}){0}(?[0-9]{3}){0}(?[0-9]+){0}\gx\gb\g}xdimensions=regexp.match(testing_string)这项工作就像一个魅力,但问题出在这里:dimensions.each{|k,v|dimensions[k]=my_operation(v)}#ERROR!undefinedmethod`each'for#.MatchData对象中

ruby - 在文本文件中查找与正则表达式匹配的行

谁能解释一下我如何在Ruby中使用正则表达式来只返回字符串的匹配项。例如,如果代码读取一个包含一系列名称的.txt文件:JohnSmithJamesJonesDavidBrownTomDavidsonetcetc..并且要匹配的单词被输入为“ohn”,然后它只会返回“JohnSmith”,但不会返回任何其他名字。 最佳答案 注意:在现代Rubies中,不要使用File.each_line,而是使用IO.foreach。例如:[1]pry(main)>IO.foreach('./.bashrc')do|l|[1]pry(main)*p

ruby-on-rails - Rails - 如何将变量插入正则表达式 (Regex),例如 assert_match

我想做类似的事情assert_match/blahblahblah#{@user}/,@some_text但我运气不好。我在这里做错了什么? 最佳答案 这是将变量插入正则表达式的正确方法:irb(main):001:0>a='Hi'=>"Hi"irb(main):002:0>b=/Not#{a}/=>/NotHi/所以您的问题很可能是断言由于匹配不当而失败。检查@user和@some_text的值并尝试http://rubular.com想出一个匹配的正则表达式 关于ruby-on-ra

ruby - 不区分大小写的 Rspec 匹配

我正在编写Capybara测试并使用Rspec进行断言。我的测试失败了,因为应用的CSS样式导致文本全部大写。我如何重写它,使其成为不区分大小写的断言?"ALLCAPS".shouldinclude('AllCaps') 最佳答案 这里是对phoet解决方案的改进:page.body.shouldmatch(%r{#{string}}i)不幸的是,这里的语法高亮并不是很公平(它在SublimeText中看起来非常好) 关于ruby-不区分大小写的Rspec匹配,我们在StackOverf

javascript - 如何在字符串中获得可能重叠的匹配项

我正在寻找一种方法,无论是在Ruby中还是在Javascript中,它都会为我提供字符串中针对正则表达式的所有匹配项,可能是重叠的。假设我有str="abcadc",我想查找出现的a后跟任意数量的字符,然后是c。我要查找的结果是["abc","adc","abcadc"]。关于如何实现此目标的任何想法?str.scan(/a.*c/)会给我["abcadc"],str.scan(/(?=(a.*c))/).flatten会给我["abcadc","adc"]. 最佳答案 defmatching_substrings(string,r

ruby - 使用分组时如何使用 gsub 在 Ruby 正则表达式 (regex) 中反向引用?

我想修补一些从网页中提取的文本数据。示例:t="Firstsentence.Secondsentence.Thirdsentence."第二句末尾点后没有空格。这表明第3句话在原始文档中位于单独的一行(在br标记之后)。我想使用此正则表达式将“\n”字符插入适当的位置并修补我的文本。我的正则表达式:t2=t.gsub(/([.\!?])([A-Z1-9])/,$1+"\n"+$2)但不幸的是它不起作用:“NoMethodError:undefinedmethod‘+’fornil:NilClass”如何正确反向引用匹配的组?在MicrosoftWord中非常简单,我只需使用\1和\2符

用于匹配 url 的 Ruby 正则表达式

这个问题在这里已经有了答案:关闭11年前。PossibleDuplicates:RegextomatchURLregextoremovethewebpagepartofaurlinruby我正在寻找一个正则表达式来解析文件中的所有url。我尝试了谷歌搜索后得到的许多正则表达式,但在一种或另一种情况下都失败了。我的想法是写一个在开始时检查http或https的存在,它会匹配所有内容,直到它看到一个空格。有什么想法吗?注意:我不需要解析url,但需要从文件中删除所有url,或者至少使其不可读。